const app = getApp();
// pages/user/manager/couponManage/addCoupon/addCoupon.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    form: {
      couponName: "",
      discountValue: "",
      minOrderAmount: "",
      startTime: "",
      endTime: ""
    },
    showStartPicker: false,
    showEndPicker: false,
    currentDate: new Date().getTime(),
    minDate: new Date().getTime()
  },

  // 校验表单完整性
  validateForm() {
    const { form } = this.data;

    if (!form.couponName) {
      wx.showToast({ title: "请输入优惠券名称", icon: "none" });
      return false;
    }
    if (!form.discountValue) {
      wx.showToast({ title: "请输入优惠金额", icon: "none" });
      return false;
    }
    if (!form.minOrderAmount && form.minOrderAmount !== 0) {
      wx.showToast({ title: "请输入最低订单金额", icon: "none" });
      return false;
    }
    if (!form.startTime) {
      wx.showToast({ title: "请选择开始时间", icon: "none" });
      return false;
    }
    if (!form.endTime) {
      wx.showToast({ title: "请选择结束时间", icon: "none" });
      return false;
    }

    return true; // 校验通过
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  },

  // 显示时间选择器
  onShowStartPicker() {
    this.setData({ showEndPicker: false });
    this.setData({ showStartPicker: true });
  },
  onShowEndPicker() {
    this.setData({ showStartPicker: false });
    this.setData({ showEndPicker: true });
  },
  // 确认选择时间
  onConfirmStart(e) {
    const date = this.formatDate(e.detail);
    this.setData({
      "form.startTime": date,
      showStartPicker: false
    });
  },
  onConfirmEnd(e) {
    const date = this.formatDate(e.detail);
    this.setData({
      "form.endTime": date,
      showEndPicker: false
    });
  },

  // 取消选择
  onCancelPicker() {
    this.setData({
      showStartPicker: false,
      showEndPicker: false
    });
  },

  // 格式化日期 yyyy-MM-dd
  formatDate(ts) {
    const date = new Date(ts);
    const y = date.getFullYear();
    const m = ("0" + (date.getMonth() + 1)).slice(-2);
    const d = ("0" + date.getDate()).slice(-2);
    return `${y}-${m}-${d}`;
  },

  // 输入绑定
  onInput(e) {
    const field = e.currentTarget.dataset.field;
    let update = {};
    update[`form.${field}`] = e.detail;
    this.setData(update);
  },

  onSubmit() {
    const { form } = this.data;
    if (!this.validateForm()) {
      return;
    }

    let _this = this;
    app.request('/coupon/updateOrAdd', 'POST', form)
    .then(data => {
      wx.showToast({
        title: data.msg || '请求失败',
        icon: 'none'
      });
      if(data.code === 0){
        wx.navigateBack({
          delta: 1   // 返回的层级，1 表示返回上一级页面
        })     
      }
    }).catch(err => {
      console.error(err)
      wx.showToast({
        title: '服务繁忙',
        icon: 'none'
      });
    });
  }
})